﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Security;
namespace posttracker.Classes.Interfaces
{
    public interface IRegistration
    {
        MembershipCreateStatus Register(ref User user);
        void Update(User user);
        User GetUserByEmail(string email);
        bool DeleteUser(string email, bool deleteAllRelatedData);
        bool ValidateUser(string email, string password);
        User GetUser(string name, bool updateLastActivityDate);
        User GetUser(int id, bool updateLastActivityDate);
        MembershipUserCollection GetAllUsers(int pageIndex, int pageSize, out int totalRecords);
        int GetNumberOfUsersOnline(DateTime timeFrom);
        string GetPassword(string name);
        bool ChangePassword(string name, string oldPassword, string newPassword);
        MembershipUserCollection FindUsersByName(string usernameToMatch, int pageIndex, int pageSize, out int totalRecords);
        MembershipUserCollection FindUsersByEmail(string usernameToMatch, int pageIndex, int pageSize, out int totalRecords);
        bool UnlockUser(string name);
    }

}